1. Technical Field
This application relates to computer storage devices, and more particularly to the field of transferring data between storage devices.
2. Description of Related Art
Host processor systems may store and retrieve data using a storage device containing a plurality of host interface units (host adapters), disk drives, and disk interface units (disk adapters). Such storage devices are provided, for example, by EMC Corporation of Hopkinton, Mass., and disclosed in U.S. Pat. No. 5,206,939 to Yanai et al., U.S. Pat. No. 5,778,394 to Galtzur et al., U.S. Pat. No. 5,845,147 to Vishlitzky et al., and U.S. Pat. No. 5,857,208 to Ofek. The host systems access the storage device through a plurality of channels provided therewith. Host systems provide data and access control information through the channels of the storage device and the storage device provides data to the host systems also through the channels. The host systems do not address the disk drives of the storage device directly, but rather, access what appears to the host systems as a plurality of logical volumes. The logical volumes may or may not correspond to the actual disk drives.
In some instances, it may be desirable to copy data from one storage device to another. For example, if a host writes data to a first storage device, it may be desirable to copy that data to a second storage device provided in a different location so that if a disaster occurs that renders the first storage device inoperable, the host (or another host) may resume operation using the data of the second storage device. Such a capability is provided, for example, by a Remote Data Facility (RDF) product provided by EMC Corporation of Hopkinton, Mass., e.g., Symmetrix Remote Data Facility (SRDF). With RDF, a first storage device, denoted the “primary storage device” (or “R1”) is coupled to the host. One or more other storage devices, called “secondary storage devices” (or “R2”) receive copies of the data that is written to the primary storage device by the host. The host interacts directly with the primary storage device, but any data changes made to the primary storage device are automatically provided to the one or more secondary storage devices using RDF. The primary and secondary storage devices may be connected by a data link, such as an ESCON link, a Fibre Channel link, and/or a Gigabit Ethernet link. The RDF functionality may be facilitated with an RDF adapter (RA) provided at each of the storage devices.
In some instances, such as when one or more R1 devices are coupled to one or more R2 devices through a network, it is possible for data to arrive at the R2 site out of order. For example, the R1 device(s) may transmit a first packet that is not timely acknowledged by the R2 device(s). In such a case, the R1 device(s) may retransmit the first packet and, if the retransmission is acknowledged by the R2 device(s), the R1 device(s) may then transmit a second, subsequent packet of data. However, if the first (unacknowledged) packet is eventually received at the R2 device(s) after the second packet has been received, then the R2 device(s) may incorrectly overwrite the data from the second packet with the out-of-sequence data from the first packet. Of course, the R2 device(s) may prevent this by using a table (or similar) to keep track of each and every packet that has already been received and discarding duplicates, but doing this may introduce an unacceptable amount of complexity as well as additional processing and overhead storage requirements.
Accordingly, it is desirable to be able to properly handle receipt of out-of-sequence packets without introducing the complexity and overhead associated with keeping track of each and every packet that is successfully received.